package org.dandsoft.blackbox.snn.test;

/**
 * Created by IntelliJ IDEA.
 * User: dvilyuzhanin
 * Date: 27.03.2009 16:12:41
 * <p>
 * Демонстриурет как большое количество мелких деталей стабилизирует нехватку
 * недостающих деталейю Даже значительны относительно малой группы факторов.
 * Чем больше факторов триггер будет анализировать, тем меньше будет сказоваться
 * обучение на выходной сигнал.
 * </p>
 */
public class ShowChangeWeightProgress {


    public static void main(String[] args) throws Exception {
        float[][] steps = {
                {1, 0, 0},
                {5, 0, 0},
                {0, 5, 0},
                {0, 1, 10},
                {0, 1, 0}};
        float[] weight = {7, 7, 7, 7, 7, 7, 7, 7};
        for (int counter = 0; counter < steps.length; counter++) {
            float total = 0;
            for (int i = 0; i < weight.length; i++) {
                total += weight[i];
            }
            float real = 0;
            for (int i = 0; i < weight.length; i++) {
                System.out.print(weight[i] + " - " + weight[i] / total + ", ");
                real += weight[i] / total;
            }
            System.out.println(": " + real);

            for (int i = 0; i < weight.length; i++) {
                float tot = 0;
                for (int j = 0; j < weight.length; j++) {
                    if (i != j) {
                        tot += weight[j];
                    }
                }
                System.out.print(" [" + i + "] - " + (tot / total));
            }

            System.out.println();
            for (int i = 0; i < steps[counter].length; i++) {
                weight[i] += steps[counter][i];
            }
        }
    }
}
